added location map, fixed iterator