need to be inside bottom_js to work