Merge branch 'feature/adv' into feature/terminal

Merge in the more advanced program and command subsections into the
terminal section.