added User model and tests