use object_setClass instead of set isa immediately to avoid warning in Xcode4.6