don't subclass NSObject