add models, migrations and part of user controller