hack: use sessionStorage