add email validation, sign-in function, and working with bcrypt pass