diff --git a/common/cace.py b/common/cace.py
index cc4719b..9de1a7e 100755
--- a/common/cace.py
+++ b/common/cace.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3 -B
+#!/usr/bin/env -S python3 -B
 #
 #--------------------------------------------------------
 # Project Manager GUI.
diff --git a/common/cace_datasheet_upload.py b/common/cace_datasheet_upload.py
index 5e9465d..7c6b019 100755
--- a/common/cace_datasheet_upload.py
+++ b/common/cace_datasheet_upload.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3 -B
+#!/usr/bin/env -S python3 -B
 #
 # cace_datasheet_upload.py
 #
diff --git a/common/characterize_help.txt b/common/characterize_help.txt
new file mode 100644
index 0000000..8d4b205
--- /dev/null
+++ b/common/characterize_help.txt
@@ -0,0 +1,60 @@
+1.
+Selecting a datasheet
+-------
+Start by selecting a datasheet.  This step is only necessary if the application is started from the command line.  If started from the project manager, then it can only be run if a datasheet exists for the project, in which case that datasheet is automatically loaded.
+
+If running from the command line, there is a button at the top with the text 'Datasheet:' and '(no selection)'. Push this button to get a file browser.  Find a project datasheet, which is a JSON (.json) file.  A challenge datasheet should be found in the design folder for each accepted challenge.  The project design folders are in the 'design' subfolder in the user's home directory.  The challenge datasheet has the name of the project and the file extension '.json'.
+
+When the JSON file is selected, a full display should be shown with each electrical parameter critical to the challenge, and its status.
+.
+2.
+Characterization
+------------
+The purpose of the characterization tool is to check the netlist against the official characterization specification for a challenge.  The tool allows a quick check of the circuit design against the datasheet values, and presents a summary of results to the user.  The purpose of these simulations is to see whether or not the design will pass or fail the challenge.  Details from these simulations are limited to the characterization values.  They are not intended to replace the simulations done in the normal course of a circuit design.
+
+The list of electrical parameters will vary by challenge.  However, each electrical paramater has a common set of properties that are listed in columns across the window.  These are:
+
+(1) "Electrical Parameter" --- The name of the electrical parameter.
+(2) "Method" --- The method corresponds to a netlist filename with the same name as the method and the extension ".spi" (SPICE netlist) that can be found in the "testbench" folder of the project, a folder whose contents are imported along with the challenge.  The testbench netlists are in a special format that allows them to be altered by substitution for a specific challenge measurement.  Any user changes to these testbench files risks making the files unusable or invalidating the simulation result.
+(3) "Min" --- The minimum limit (if any) of the electrical parameter.  After simulation, also shows the measured result of the circuit.
+(4) "Typ" --- The typical value (if any) of the electrical parameter.  After simulation, also shows the measured result of the circuit.
+(5) "Max" --- The maximum limit (if any) of the electrical parameter.  After simulation, also shows the measured result of the circuit.
+(6) "Status" --- Is one of "(not simulated)" if the circuit has not yet been simulated, "(in progress)" if the simulation is ongoing;  "pass" if the circuit has been simulated and passed the specification for the eletrical parameter, and "fail" if it failed the specification.   If the status is "pass" or "fail", this entry is a button that can be pressed to see a detailed view of the results.
+(7) "Simulate" --- This is a button that will initiate an ngspice simulation of the electrical parameter.
+
+At the bottom of the window is a space for program messages, warnings, and errors.  Below that is a button bar with the following buttons:
+
+"Quit" --- Quits the characterization tool.  If new results have been simulated but not saved, the user will have to respond to a prompt.
+
+"Save" --- Saves the current characterization results.  These results will be loaded the next time the characterization tool is run, unless there is a design netlist newer than the saved results.
+
+"Help" --- Activates this help window.
+
+"Submit" --- Lets the user submit the design to the Marketplace for characterization.  If any parameters have not been simulated, or if there are simulation failures, then the user is prompted for a response and strongly warned against submitting.
+
+2.1
+Generating a netlist
+-------
+Design your project schematic in Electric and generate a netlist.  See the project manager help text and the Electric user manual for details.  The netlist is generated from the Electric menu "Tools"->"Simulation (Spice)"->"Write CDL Deck".
+
+2.2
+Simulation
+-------
+To simulate a single electrical parameter, click the 'Simulate' button for each electrical parameter.  This will combine the design netlist with a testbench and simulate using ngspice.  While ngspice is running, 
+
+2.3
+Results
+--------
+Every electrical parameter is specified over a range of conditions.  This results in a series of simulations, usually one simulation run per unique set of conditions.  Each simulation typically provides one result value, and the set of all values from all simulated conditions is used to find the minimum, typical, and maximum results that are printed on the main characterization page.
+
+When an electrical parameter has finished simulating, clicking on the "Status" entry will generate a window showing details of the simulation.  The window has one line per unique set of conditions simulated.  For each line, the result value is given in the leftmost column.  The remaining columns show each variable condition, and the value it had for the given simulation.  The top of the column shows the range of values for the given parameter.  This graph allows the user to quickly determine what are the conditions under which a circuit may be failing, and the degree to which the value is out of range of the specification.  Rows in which the result is outside of the specified limit are shown in red.
+
+In the results window, click on the title 'Results' to change the view from having results ordered highest to lowest, to lowest to highest.
+
+2.4
+Challenge Submission
+--------
+When all electrical parameters have a status of 'Pass' or 'Done', then the design may be submitted to the efabless marketplace with the 'Submit' button.  The 'Submit' will happen without further prompt if the circuit has been simulated and all electrical parameters have passed.  If simulations are missing, or if simulations have failed, this will not prevent a submission, but the user will be prompted for confirmation and given a warning about the missing or failed simulations.
+
+Once a design is submitted, the 'Submit' button is replaced with a 'Cancel' button, allowing the submission to be canceled at any time prior to completion.  The characterization simulations are done on a remote server, but the designer can keep track of the progress on a progress bar shown at the bottom of the window.  Once the characterization is complete, the progress bar is removed and the button returns to being a 'Submit' button.  At that point, the designer can go to the efabless website and click on 'CACE results'.  The characterization results are in a list, and can be identified by project name and simulation date and time.  Click on the 'Details' button next to each one to view the datasheet values, which should match those from the local simulations.
+.
diff --git a/common/lvs_help.txt b/common/lvs_help.txt
new file mode 100644
index 0000000..cb7b9ec
--- /dev/null
+++ b/common/lvs_help.txt
@@ -0,0 +1,5 @@
+1.
+Selecting a project
+-------
+Start by selecting a project.  This step is only necessary if the application is started from the command line.  If started from the project manager, then it can only be run if a project was selected.
+.
diff --git a/common/make_icon_from_soft.py b/common/make_icon_from_soft.py
index 141abe9..2323646 100644
--- a/common/make_icon_from_soft.py
+++ b/common/make_icon_from_soft.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3 -B
+#!/usr/bin/env -S python3 -B
 #--------------------------------------------------------
 # make_icon_from_soft.py --
 #
diff --git a/common/manager_help.txt b/common/manager_help.txt
new file mode 100644
index 0000000..e79f28c
--- /dev/null
+++ b/common/manager_help.txt
@@ -0,0 +1,108 @@
+1.
+Open Galaxy
+------------
+Welcome to Open Galaxy, the efabless.com platform for analog and digital integrated circuit design.  Open Galaxy is a cluster of CentOS virtual machines set up with applications for creating circuit schematics and layout, and running circuit simulations, verification, and characterization.  This is where efabless.com users go to design and test their circuits before placing them in the efabless Marketplace, or submitting them to a circuit design challenge.
+
+Help is always available on the efabless.com website.  Just go to the dashboard, then select 'Learn and Practice'.  The select from the menu 'Community', then 'Knowledge Base'.
+
+1.1
+Open Galaxy Project Manager
+------------
+This application is the project manager for Open Galaxy.  It can be used to handle imported files and challenges from the efabless.com Marketplace, create new circuit design projects and set them up for the design flow, and launch the various applications for circuit design and layout.
+
+1.2
+The Project Manager Window
+--------------
+The Open Galaxy Project Manager consists of four main windows.  From top to bottom, these are:
+(1) User information, showing the user's log-in name on the efabless.com website;
+(2) Projects Window
+(3) Imports Window
+(4) Message window with any messages reported by the system.
+
+1.3
+The Projects Window
+--------------
+The Projects window shows all of the subfolders of the user's 'design' folder.  To select a project as the 'current project', just click on the line in the projects window, and the current project will be highlighted.
+
+There are three columns shown in the projects window:
+
+(1) The name of the project.  This is determined by the 'ip-name' given in the project's JSON file, if it has one;  otherwise, it is the name of the sub-folder.
+(2) The full path to the project.
+(3) The PDK (process design kit) assigned to the project, if any.
+
+Below the display of project names is a row of buttons:
+
+"Delete":  Deletes an entire project from the project folder.  Use this with caution.  To prevent accidental deletion, the user must confirm the delete in a popup window by selecting a checkbox and then clicking 'Okay'.
+
+"Create":  Creates a new project and seeds it with a basic setup for project work.  The user is prompted for a project name as well as a PDK to apply to the project.  The project setup includes links to the PDK for schematic entry, which makes the PDK components available to the user for building schematics.  When there are no projects in the user's project folder, this is the only button available.
+
+"Copy":  Copies an entire project into a new project space.  The user is prompted for a name for the new project.  The new project retains the PDK of the original, as well as all files.  However, by default, simulation results and schematic tool preferences are not copied into the new project.  Either of these can be overridden by selecting the appropriate checkbox in the copy project dialog.
+
+"Clean":  Removes all simulation data from a project.  This cleans up the large files typically produced during simulations.  It does not affect any other files in the project.
+
+A second row of buttons is for launching applications for creating a design.
+
+"Edit Schematic":  Starts the 'Electric' schematic editor.
+
+"Edit Layout":  This button is active only if the PDK supports layout.  It starts the 'Magic' layout editor.
+
+"Characterize":  Starts the characterization tool, which runs local simulations on a netlist defined by a challenge, and allows a completed and simulated design to be submitted to the challenge.  The characterization application has its own help window.
+
+1.4
+The Imports Window
+--------------
+The Imports window shows all of the items in the 'import' subfolder of the user's 'design' folder.  This location is where all items imported into Open Galaxy from the efabless Marketplace show up, including accepted challenges, netlists from 'IP Upload', and netlists from the cloudv service.  When a file is in the import folder, three buttons are shown below the imports window:
+
+(1) "Import As" will move the file from the import folder to a project.  If the import is from a challenge, then the PDK is specified, as is the project name.  The import will happen automatically unless there is already a project by the same name, in which case there will be a prompt for a new name.  If the import is a simple netlist, then a project name and PDK will be requested, and a new project will be created for the netlist file.
+
+(2) "Import Into" will move the file, if it is a simple netlist, into an existing project.  If the import represents an entire project, for example, a challenge, then this button behaves the same as "Import As".
+
+(3) "Delete" will remove a file from the import folder.
+
+When a file is successfully transferred from the import folder to a project, it is removed from the import folder.
+
+2.
+Files and Folders
+----------
+The users's primary workspace
+
+2.1
+User account
+------------
+The user is given an Open Galaxy account which has a randomly assigned username unique to the user.  When running the project manager or characterization tools, the user's efabless account login name will be queried and displayed.  However, the actual home directory of the user is in the file system path '/home/username', whre 'username' is the unique Open Galaxy assigned name;  and the workspace is in the sub-folder 'design/' of the home directory.  Projects are all sub-folders of the 'design/' path.
+
+2.2
+Project
+----------
+A project folder generally contains the following:
+(1) A JSON file that describes the project.  This file is required for challenges and should not be modified by the user, or else it may become impossible to upload the project.
+(2) Subfolder "elec", where all data used by the 'Electric' schematic editor are found.
+(3) Subfolder "spi", where the netlisted output of a schematic is placed.  A challenge design must be netlisted and its netlist placed in this folder before a challenge can be characterized or submitted to the challenge.
+(4) Subfolder "ngspice", where simulation data are placed.
+(5) Subfolder "testbench", where netlists used by the characterization are found.  These netlists are downloaded with the rest of the challenge data when the challenge is accepted.  The user may alter the netlists, but doing so may result in different simulation results than are used to judge the challenge submissions.
+(6) Subfolder "mag", where layout data are placed when editing layout.
+
+3.
+Challenges
+-----------
+A major aspect of the efabless platform is the Challenge, a way to encourage the generation of IP for the Marketplace by having a contest to create some specific design.  The Challenge is based on a Datasheet, which contains all the information about the critical properties and limits of a circuit.  Challenges are issued from time to time on the efabless website.
+
+To participate in a Challenge, go to the efabless website and log in as an efabless user.  Navigate to the Marketplace.  There you should see an icon labeled 'Open Challenges'.  Click on this icon to navigate to the Challenges page.
+
+On the Challenges page, scroll to the bottom of the page to find a list of "Open Projects".  Clock on the Project Title to see what the challenge is about.  To join the challenge, simply click on "Apply" next to the challenge.  This will bring up a complete view of the challenge.  Click "Accept" to accept the challenge, and finally, "Confirm" to accept the terms and conditions of the challenge.  This final step will initiate a download of challenge files into your Open Galaxy workspace.
+
+3.1
+Importing a Challenge
+-----------
+After a challenge has been accepted in the marketplace, a new entry will appear in 'Imports' containing the files needed to start the challenge design.  Select the project and press the 'Import' button to create and populate your design folder with the new project.  The new project will then appear under the 'Projects' list.  The new project will be set up with the PDK (process design kit) specified for the challenge, and will already contain a schematic symbol for the project circuit showing all of the required pins.
+
+3.2
+Creating a Challenge Design
+------------
+The first step of creating a challenge design is to select the challenge project in the Projects window, and click on "Edit Schematic" to start the "Electric" schematic editor.  The editor should immediately display the symbol of the challenge circuit.  This symbol has all the pins of the challenge device, and should not be altered.  Create a new schematic to match the symbol by selecting "View"->"Create Schematic View" in the menu.  Components of the PDK are available in the "Components" tab on the left.  For information about using Electric to edit a schematic, refer to the Electric "Help" menu.
+
+3.3
+Simulating a Challenge
+----------------
+The user has all the resources of Electric to simulate and display results.  Refer to the Electric user manual in the "Help" menu of Electric.  However, the user will want to know how the circuit behaves relative to the specifications required by the challenge.  To do this, first create a netlist of the schematic in Electric using menu selection "Tools"->"Simulation (Spice)"->"Write CDL Deck".  Once the netlist is written, the user may return to the project manager and click the "Characterize" button.  Note that the "Characterize" button is disabled unless both the challenge's project JSON file and the netlist file created from Electric exist.  For information on using the Open Galaxy characterization application, see the help text in the application.
+.
diff --git a/common/project_manager.py b/common/project_manager.py
index e6aae10..c07ffb3 100755
--- a/common/project_manager.py
+++ b/common/project_manager.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3 -B
+#!/usr/bin/env -S python3 -B
 #
 #--------------------------------------------------------
 # Open Galaxy Project Manager GUI.
diff --git a/common/qflow_help.txt b/common/qflow_help.txt
new file mode 100644
index 0000000..cb7b9ec
--- /dev/null
+++ b/common/qflow_help.txt
@@ -0,0 +1,5 @@
+1.
+Selecting a project
+-------
+Start by selecting a project.  This step is only necessary if the application is started from the command line.  If started from the project manager, then it can only be run if a project was selected.
+.
diff --git a/common/rename_project.py b/common/rename_project.py
index d21d462..01ccf0b 100755
--- a/common/rename_project.py
+++ b/common/rename_project.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3 -B
+#!/usr/bin/env -S python3 -B
 #
 # rename_project.py ---  Perform all tasks required for renaming a project.
 #
diff --git a/common/requirements.txt b/common/requirements.txt
new file mode 100644
index 0000000..d4fbc66
--- /dev/null
+++ b/common/requirements.txt
@@ -0,0 +1,11 @@
+Werkzeug==0.11.10
+aniso8601==1.1.0
+click==6.6
+matplotlib==0.99.1.1
+numpy==1.4.1
+pyparsing==1.5.6
+python-dateutil==2.5.3
+requests==2.10.0
+six==1.10.0
+virtualenv==15.0.2
+watchdog==0.8.3
diff --git a/scripts/configure b/scripts/configure
index 586e2d6..792ece4 100755
--- a/scripts/configure
+++ b/scripts/configure
@@ -1917,7 +1917,9 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
 $as_echo "$am_cv_python_version" >&6; }
   PYTHON_VERSION=$am_cv_python_version
-
+  if (( $(echo "$PYTHON_VERSION > 3" |bc -l) )); then
+    pip3 install natsort
+  fi
 
 
   PYTHON_PREFIX='${prefix}'
