Added User model and authentication