sucessfully moved system controller to a thread to free up memory for GUI