basic model pattern
basic model pattern