updates to register()