updated data structure and drawing methods for map