first exposure of api with a draft implementation via GenericImpl