refoctor collection element class