Further clean-up, seperated scenario into proper module.