initial model code
extendable Model class