use postMessage instead of hash