groundwork for JS native confirm replacement