First big commit only contains the user model.