private Position getPositionForProducedUnit(Position p)
	{
		if(world.getUnitAt(p) == null) return p;
		
		Position newPos = new Position(p.getColumn() - 1, p.getRow()); //above
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;
		
		newPos = new Position(p.getColumn() - 1, p.getRow() + 1); //top right
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;
		
		newPos = new Position(p.getColumn(), p.getRow() + 1); // right
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;

		newPos = new Position(p.getColumn() + 1, p.getRow() + 1); // bot right
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;

		newPos = new Position(p.getColumn() + 1, p.getRow()); // bot
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;

		newPos = new Position(p.getColumn() + 1, p.getRow() - 1); // bot left
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;

		newPos = new Position(p.getColumn(), p.getRow() - 1); // left
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;

		newPos = new Position(p.getColumn() - 1, p.getRow() - 1); // top left
		if(world.getUnitAt(newPos) == null && world.isValidUnitPosition(newPos)) return newPos;
		
		return null;
	}