add response collector
refactoring