add npm interface