switching to instancetype