implemented the registration module