#warning should override static creational method only! DON'T SWIZZLE alloc, init