this should probably have the word 'query' or 'mapreduce' in it's name to prevent collisions