first passing rollback test, now i can work on cleanup and properly organizing the APIs