Merged from archiving branch, added caching for steps