crazy interim commit
tests passing again but still needs a lot of work