this is marked as optional, yet it does not check protocol conformance.