Изменение сцен в JavaFX NullPointerException

Я хочу перейти на сцену в другом классе, но у меня большие трудности.

Теперь я могу без проблем перейти ко второму экрану, но переход к первому экрану дает мнеИсключение нулевого указателя.

Помощь будет высоко ценится. Спасибо заранее.

Основной класс

public class Main extends Application {

Stage ps;
Group root = new Group();
Scene s = new Scene(root, 300, 300, Color.AQUA);
Controller con = new Controller();


public void start(Stage primaryStage) throws Exception {
    ps = primaryStage;
    con.buttonLayout();
    buttonLayout();

    primaryStage.setTitle("Hello World");
    ps.setScene(s);
    primaryStage.show();
}

public void buttonLayout() {
    Button but = new Button("first");

    but.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            ps.setScene(con.s);
        }
    });

    root.getChildren().add(but);
}


public static void main(String[] args) {
    launch(args);
}
}

Другой класс

public class Controller{
Group root = new Group();
Scene s = new Scene(root, 300, 300, Color.BLACK);


public void buttonLayout() {
    Button but = new Button("back to first");

    but.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            Main main = new Main();
            main.ps.setScene(main.s);
        }
    });

    root.getChildren().add(but);
}
}

Ответы на вопрос(1)

Ваш ответ на вопрос