add collect operator