refactored for scenario copy