smarter registering interface