useinterface abs added