generate model
validation and some tests
finish User model
exercises of ch6