add class oo support