Improved documentation
Refactored some BaseModel methods