factored out some common code and created skeletons for various jobs to be implemented
Merge remote-tracking branch 'origin/master'