Reorganized the code so its more legible. Added a lot of default apps and keywords, fixed the broken activities, and fixed how exec() was being handled (sh -c works a differently than I expected).