first draft on transaction models