Added documentation to algorithm.py.
Re-designed the user control interface.