integrated rollbacks into the backend with all tests passing