- some more refactoring
- added some more functionality to BaseModel
- started moving user models to BaseModel