Added declarative transaction support