Added User model and auth logic