added range_query(untested)