user model and view completed