a bunch of broken code :(