sort of working priority queue
refactor results queue to be inverted (closest on bottom of heap) to suppoer nearest X neighbour searches
tidy up and some docs