feat(user): add user model