#5 - Basic transaction support