Major Improvements

Committed all changes since my last pull request was merged. Read the forum topic for full details.

http://enigma-dev.org/forums/index.php?topic=1245.0