Oh sorry for that, it's my mistake, it should be
dim cl3 as class3collection
set cl3 = new class3collection
I have not checked the use of Implements for the third class, I will give it a try.
Just another question, why did the second class managed to get the value from the first class...