实现Model

See #2