incomplete rewrite
new ExternalProgramsPlugin implementation
better layout