private void initialize(QuadTree quadTree, List<PolygonShape> landShapePolygons, List<PolygonShape> landUsePolygons, AddressFinder addressFinder) {
        try {
            setIconImage(ImageIO.read(new File("assets/Icon48.png")));

        } catch (IOException ex) {
            Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
        // frame properties
        setTitle("Map of Denmark");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setExtendedState(MAXIMIZED_BOTH);
        requestFocus();
        screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        MigLayout migMainLayout = new MigLayout("", "[180!]20[center]", "[]20[top]");

        // components
        drawMapComponent = new MapComponent(quadTree, landShapePolygons, landUsePolygons);
        closestRoadString = "";

        navigationBar = new NavigatonBar(drawMapComponent, addressFinder);

        mainContainer = new JPanel(migMainLayout);

        getContentPane().add(mainContainer);
        mainContainer.add(navigationBar, "cell 0 1");
        mainContainer.add(drawMapComponent, "cell 1 1,"
            + "width " + (int) (screenSize.width / 2.5) + ":" + (int) (screenSize.width - 125) + ":, "
            + "height " + (int) (screenSize.height / 2.5) + ":" + (int) (screenSize.height - 25) + ":, left");

        //menubar
        menuBar = new JMenuBar();
        this.setJMenuBar(menuBar);
        menuBar.add(new ColorSchemeMenu(drawMapComponent));

    }