override and swizzle work with class methods