changed cannonList to HashMap