added user model and tests