Refactor model design
Merge branch 'server' into develop