rework Colleciton class