remove GenericImpl constructor with Supplier