interfaces - not sure if I want to use this

giving a few changes a go in models to see if I can get some better validation
and data cleaning within the rethink models