queryinterface changes