finished implementing User model