user sign in and some validation