add query_interface to lifecycle