broke models into separate files