public boolean validNeighbor(Coords start, Direction dir, Player player) {
        boolean result = false;
        Chip start_chip = this.getChip(start.getCoordsRow(), start.getCoordsCol());
        Chip neighbor_chip;
        Coords neighbor_coords = nextCoords(start, dir);
        if(inBounds(neighbor_coords, dir))
                neighbor_chip = this.getChip(neighbor_coords.getCoordsRow(), neighbor_coords.getCoordsCol());
        else return false;
        //System.out.println("Neighbor chip identified " + neighbor_coords.toString() + " " + neighbor_chip.toString());
        if(inBounds(start, dir)) {
            //System.out.println("entered inBounds if");
            
            neighbor_chip.getChipColor();
            player.getColor();
            if(ChipColor.isOpp( player.getColor() , neighbor_chip.getChipColor()))
                result = true;
                //System.out.println("Checked isOpp");
        }
        //System.out.println("Valid neighbor result for " + neighbor_coords.toString() + ": " + result);
        return result;
    }