let showModal accept callback