added getclassid virtual method