so... many... bugs...
tests are passing!!!