signup and validates