Feature/192 refactor models

@kardan could you look at this plz?