use map instead of pure grid