compatibility to ruby < 1.9.3 (flatten.map vs flat_map)