change unit&map data structrue