private void updateMemory(List<Point> possibleMoves, Environment e) {
		for (Point p : possibleMoves) {
			Item item = e.viewItemAtPosition(SIGHT, p);
			if (_worldMemory.get(p) != null) {
				Entry<Item, Double> entry = _worldMemory.get(p);
				if (entry.getKey() == item ) {
					Double oldCert = entry.getValue();
					Double newCert = oldCert + (1 - oldCert) * SIGHT;
					entry.setValue(newCert);
				} else if (entry.getValue() < SIGHT) {
					Entry<Item, Double> newEntry = new AbstractMap.SimpleEntry<Item, Double>(item, SIGHT);
					_worldMemory.put(p, newEntry);
				} else {
					Double oldCert = entry.getValue();
					
					//should lower certainty
					Double newCert = oldCert + (1 - oldCert) * (SIGHT*-1);
					entry.setValue(newCert);
				}
				
			} else {
				Entry<Item, Double> newEntry = new AbstractMap.SimpleEntry<Item, Double>(item, SIGHT);
				_worldMemory.put(p, newEntry);
			}
		}
	}