move away from keeping an internal representation of the map