added transactions functionality