public final void setDefaultBoard() {
        for (int i = 0; i < 8; i++) {
            setCoinAt(new WhitePawn(), Position.getPosition(Position.TWO, i));
            setCoinAt(new BlackPawn(), Position.getPosition(Position.SEVEN, i));
        }
        setCoinAt(new WhiteKnight(), Position.getPosition(Position.ONE, Position.B));
        setCoinAt(new WhiteKnight(), Position.getPosition(Position.ONE, Position.G));
        setCoinAt(new BlackKnight(), Position.getPosition(Position.EIGHT, Position.B));
        setCoinAt(new BlackKnight(), Position.getPosition(Position.EIGHT, Position.G));

        setCoinAt(new WhiteBishop(), Position.getPosition(Position.ONE, Position.C));
        setCoinAt(new WhiteBishop(), Position.getPosition(Position.ONE, Position.F));
        setCoinAt(new BlackBishop(), Position.getPosition(Position.EIGHT, Position.C));
        setCoinAt(new BlackBishop(), Position.getPosition(Position.EIGHT, Position.F));

        setCoinAt(new WhiteRook(), Position.getPosition(Position.ONE, Position.A));
        setCoinAt(new WhiteRook(), Position.getPosition(Position.ONE, Position.H));
        setCoinAt(new BlackRook(), Position.getPosition(Position.EIGHT, Position.A));
        setCoinAt(new BlackRook(), Position.getPosition(Position.EIGHT, Position.H));

        setCoinAt(new WhiteQueen(), Position.getPosition(Position.ONE, Position.D));
        setCoinAt(new BlackQueen(), Position.getPosition(Position.EIGHT, Position.D));

        King w = new WhiteKing();
        King b = new BlackKing();
        setCoinAt(w, Position.getPosition(Position.ONE, Position.E));
        setCoinAt(b, Position.getPosition(Position.EIGHT, Position.E));

        setWhite_king(w);
        setBlack_king(b);
    }