alot of restructure, tried to fix the circular imports between models and routes