further revision as discussed with @jackiekazil