first commit
complete registration fuction