User model with signin functionality