refactored models and services into a separate project