implenentation for remaining astyanax code, all unit tests pass again