modifed Collection implementation