start of database model