model implementation

model implementation