add transaction managment to General*Service methods