rewriting the add transaction process