Review object model, some shanges
Refactore object model