done as map & improved scheduler