added alternative implementation of find_* and map_reduce (composition instead of inheritance)
rebased find_*, map_reduce to no inheritance implementation