model refactored
model refactored merged