Finish user sing-up
user sing-up fixes and refactoring