Refactored several elements. Code more readable. Added a few options. Still no tests.