created a separate function for the transaction commands, because its much nicer