refactored per lisers new workflow