extracted Coordinator to avoid code duplication