now treats zero range data as a flat line, plus some doc updates and moving away from filter/map to comprehensions