fix bug
add email confirmation
refactor view