added new transaction functionality