redefine interface