refactoring; added recipient selection