new query interface: added result classes