added flat_map aliased to mapcat