refactor, introduce UserModel, create initial setup for tests