refactoring and first cut reacting to chaning options