why calling collector?