redisign and userController