break create map logic into 3 modules