initial model commit and tidy up