Improve schema and separate models into files