change to store feature ad info in array instead of map to save the memory