adjust register form and logic!