changed Signup to meet user case requirement.

import the code from Jason's patch 2 days ago.