add draft of transaction handling
conditionally rollback
fix pep8 violation
add rollback_functions on base transaction
initialize handler in tests