refactored job hierarchy