public void loadServicesData()
		{
            "Loading Services Data".info();
			this.invokeOnThread(
				()=> {
						 this.clear();
						 dataGridView = this.add_DataGridView();  
						 dataGridView.CellContentClick+= (sender,e) => 	cellClicked(e.RowIndex,e.ColumnIndex);
						 dataGridView.Columns.Clear();						 			        	 
						 
						 
						 var menu  = dataGridView.add_ContextMenu();
    		 			 menu.add_MenuItem("refresh", (menuItem) => loadServicesData());
    		 
			        	 var services = ServiceController.GetServices();
			        	 			        	
			        	 dataGridView.add_Column("Display Name");
			        	 dataGridView.add_Column("Service Name");
			        	 dataGridView.add_Column("Service Type");			        	 
			        	 dataGridView.add_Column_Link("stop service");        	
			        	 foreach(var service in services)      	 
			        	 {        	 
			        	 	if (service.CanStop)			        	 	
			        	 	{			        	 		
			        	 		var id = dataGridView.add_Row(
			        	 					 service.DisplayName,
			        	 					 service.ServiceName,			        	 					 
			        	 					 service.ServiceType,
			        	 					 "stop");								
			        	 		dataGridView.Rows[id].Tag = service;
			        	 	}	    	 		
			        	 }        	 
			        });
		}
		public void loadProcessData()
		{
            "Loading Processes Data".info();
			this.invokeOnThread(
				()=> {
						 this.clear();
						 dataGridView = this.add_DataGridView();  
						 dataGridView.CellContentClick+= (sender,e) => 	cellClicked(e.RowIndex,e.ColumnIndex);
						 dataGridView.Columns.Clear();

                         var menu = dataGridView.add_ContextMenu();
                         menu.add_MenuItem("refresh", (menuItem) => loadProcessData());
                         //menu.add("close", (menuItem) => ParentForm.Close());

			        	 //dataGridView.SelectionChanged+=(sender,e)=> dataGridView.ClearSelection();
			        	 // use this to see all available properties
			        	 //foreach(var property in Processes.getCurrentProcess().type().properties())
			        	 //		dataGridView.column(property.Name,150);
			        	 dataGridView.add_Column("Name");
			        	 dataGridView.add_Column("Window Title");
			        	 dataGridView.add_Column("Id");
			        	 dataGridView.add_Column("Handle");
			        	 dataGridView.add_Column("Paged Memory Size (Mb)");
			        	 dataGridView.add_Column("Working Set (Mb)");
			        	 dataGridView.add_Column("Priority Class");
			        	 dataGridView.add_Column_Link("stop process");        	 
			        	 var megaByte = 1024*1024;
			        	 foreach(var process in Processes.getProcesses())      	 
			        	 {        	 
			        	 	var id = dataGridView.add_Row(   process.ProcessName,
							        	 					 process.MainWindowTitle,
							        	 					 process.Id,
							        	 					 process.prop("Handle"),
							        	 					 (double)process.PagedMemorySize64 / megaByte,
							        	 					 (double)process.WorkingSet64 / megaByte,
							        	 					 process.prop("PriorityClass"),
							        	 					 "stop");
			        	 	dataGridView.Rows[id].Tag = process;
			        	 
			    	 		// use this to see all available properties
			    	 		/*var rowCells = new List<object>();
			    	 		foreach(var property in process.type().properties())
			    	 			rowCells.Add(process.prop(property.Name));
			    	 		dataGridView.row(rowCells.ToArray());*/        	 		
			        	 }        	 
			        });
		}