QueryInterface passes with refactor