Improve signup implementation