looks fairly good. the only remaining thing to do is to fix the tests