fixed it so invalid accounts return nil as it is most likely possible that a user could exist without accounts, which is what should return an empty array
implemented transactions and refactored user and account to match approach