more work on design. refactor of user info to use its own controller.