public ACSView(ACSModel mod){
		model = mod;
		trayIcon = null;
		
		// Set Default Look and Feel
		try{ 
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch(Exception e){
			System.err.println("Could not set look and feel for MCView");
		}
		
		setMinimumSize(new Dimension(418, 280));
		
		// Initialize components
		JPanel content = new JPanel();
        
		//---quick panel
		JPanel quick_panel = new JPanel();
		TitledBorder qltitle = BorderFactory.createTitledBorder("Modify Quick Launch Buttons");
        quick_panel.setBorder(qltitle);
        quick_panel.setLayout(new FlowLayout());
		quick_btns = new JButton[ACSModel.QUICK_SLOTS];
		for(int i = 0; i < ACSModel.QUICK_SLOTS; i++){
			quick_btns[i] = new JButton("+");
			quick_btns[i].setActionCommand("QL"+i);
			quick_btns[i].setPreferredSize(new Dimension(40,40) );
			quick_btns[i].setFocusPainted(false);
			quick_btns[i].setToolTipText("Drag somthing here OR Click to set");
			quick_panel.add(quick_btns[i]);
		}	
	
		//---info panel
		JPanel infoPan = new JPanel();
		infoPan.setBorder(BorderFactory.createTitledBorder("Server Info"));
		infoPan.setLayout(new MigLayout("", "[grow]", "[][][][grow]"));
		status = new JLabel("Status: " + STATUS_DISABLED);
		client_ip = new JLabel("Client IP: ---.---.---.---");
		serv_ip = new JLabel("Server IP: ---.---.---.---");
		toggleBtn = new JButton("Disable");
		
		infoPan.add(status,"cell 0 0");
		infoPan.add(client_ip,"cell 0 1");
		infoPan.add(serv_ip,"cell 0 2");
		infoPan.add(toggleBtn, "cell 0 3, aligny bottom");
		
			
		//---settings panel
		JPanel settingPan = new JPanel();
		settingPan.setBorder(BorderFactory.createTitledBorder("Server Settings"));
		settingPan.setLayout(new MigLayout("", "[][105.00,grow]", "[][][grow]"));
		nameLbl = new JLabel("Server Name");
        pswdLbl = new JLabel("Server Password");
        serv_pswd = new JPasswordField();
        
        serv_pswd.addKeyListener(new KeyListener(){
			@Override
			public void keyPressed(KeyEvent arg0) {		
				passChanged = true;
			}
			@Override
			public void keyReleased(KeyEvent arg0) {}
			@Override
			public void keyTyped(KeyEvent arg0) {}
        });
        
        serv_name = new JTextField();
        saveBtn = new JButton("Save");
        
        JLabel enable_pswd = new JLabel("Enable Password");
        passwordChkbox = new JCheckBox();
        passwordChkbox.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent arg0) {
				togglePassword(passwordChkbox.isSelected());
			}
        	
        });
        
        JLabel enable_bcast = new JLabel("Broadcast Server");
        broadcastChkbox = new JCheckBox();
        
        settingPan.add(nameLbl,"cell 0 0,alignx trailing");
        settingPan.add(serv_name,"cell 1 0,growx,width 90:90:");

        settingPan.add(pswdLbl,"cell 0 1,alignx trailing");
        settingPan.add(serv_pswd,"cell 1 1,growx,width 90:90:");
        
        settingPan.add(enable_pswd,"cell 0 2");
        settingPan.add(passwordChkbox, "cell 1 2"); //align left?
        
        settingPan.add(enable_bcast,"cell 0 3");
        settingPan.add(broadcastChkbox,"cell 1 3");
        
        settingPan.add(saveBtn, "cell 1 4, alignx right, aligny bottom");
       
		
		// Layout components     
        content.setLayout(new MigLayout("", "[188.00,fill][104.00,grow]", "[][grow]"));
        content.add(quick_panel, "cell 0 0 2 1,alignx left,hmin 75");
        content.add(infoPan, "cell 0 1,alignx leading,growy");
        content.add(settingPan,"cell 1 1,growx");
        

        this.setContentPane(content);
        this.pack();
        this.setTitle(TITLE);
        
        //TODO: Will eventually want to save on close -- save model data
        
        createSysTray();
        // set default close action (if tray supported, hide instead)
        //if(trayIcon != null){
        //	setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        //}else{
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //}
        
        ImageIcon im = new ImageIcon(getClass().getResource(YELLOW_ICON));
        setIconImage(im.getImage());
        
        //add listeners to model
        model.addModelChangeListener(this);
        model.requestUpdate();
	}