added transaction abstract class
Moved set down to transaction class.