Feature/transaction

:-1: please don't comment after the code, comment before the code instead. (fix indentation)