Add transaction repository

Close #21