add map query and map interface