added the registration machinery