id -> instancetype for initializers