Code fully commented, args passed to hierarchical job through a configuration rather than a string array and a few small mistakes fixed