Converted declarative transaction management to programmatic