Revert "Remove public prototype."

This reverts commit 94fcabcd297d076aad5948aed72d45a6ec40fce3.
Update prototype 1.
Update prototype 2.