Revert "Revert "prototype update""

This reverts commit cb5f787fdf40dc62dc284a0e9040f6114d1b60e0.