first version of registering interface