just tmw but written in go instead
eventually this will replace tmw
but for now it doesn't actually work