Refactored models into separate files.