add RefCounted class