customer registration logic, validation