private void init() {
		VerticalLayout layout = (VerticalLayout) this.getContent();
        layout.setMargin(true);
        layout.setSpacing(true);
        
        Label message = new Label("<b>Please type your website URL to begin making your E-book! (e.g. www.example.com)</b>");
        message.setContentMode(Label.CONTENT_XHTML);
        message.setSizeUndefined();
        this.addComponent(message);

        final TextField urlField = new TextField();
        urlField.setInputPrompt("Enter your website URL here");
        urlField.setSizeFull();
        layout.addComponent(urlField);
        
        HorizontalLayout bottombar = new HorizontalLayout();
        
        progressBar.setIndeterminate(true);
        progressBar.setPollingInterval(5000);
        progressBar.setEnabled(false);
        bottombar.addComponent(progressBar);
        
        final Button okay = new Button("Okay!");
        okay.addListener(new Button.ClickListener() {
            public void buttonClick(ClickEvent event) {
            	if (!(((String)urlField.getValue()).startsWith("www.") || ((String)urlField.getValue()).startsWith("http://"))) {
            		getWindow().showNotification(
                            "I couldn't recognize the website name!",
                            "Did you make sure to type www. or http:// in front of your website url? " +
                            "Click this box to try again.",
                            Notification.TYPE_ERROR_MESSAGE);
            	}
            	else {
                	url = (String) urlField.getValue();
                	StartModalWindow.this.getApplication().setUser(new Account());
                	
                	//wait until website is scraped
                	Worker worker = new Worker();
                	worker.start();
                	progressBar.setEnabled(true);
                	progressBar.setVisible(true);
                    urlField.setEnabled(false);
                	okay.setCaption("Please wait while we grab your site...");
                	okay.setEnabled(false);
            	}
            }
        });
        // The components added to the window are actually added to the window's
        // layout; you can use either. Alignments are set using the layout
        bottombar.addComponent(okay);
        layout.addComponent(bottombar);
        layout.setComponentAlignment(bottombar, Alignment.BOTTOM_CENTER);
        layout.setSizeUndefined();
	}