private Point avoidNear(Point aim) {
		Collection<Flockable> tooClose = new ArrayList<Flockable>();

		for (Flockable f : Map.INSTANCE.flock) {
			if(f == this) 
				continue;
			final long distance = getDistance(this.getLocation(), f.getLocation());
			if(distance < DISTANCE * DISTANCE) {
				tooClose.add(f);
			}
		}
		
		if(tooClose.isEmpty()) return aim;
		
		final Point newAim = (this.getMean(tooClose));
		
		final int x = newAim.x - this.getLocation().x;
		final int y = newAim.y - this.getLocation().y;
		
		if(x == 0 && y == 0) return aim;
		
		return new Point(this.getLocation().x - x, this.getLocation().y - y);
	}