added basic transaction feature