update overlay to use getBoundingClientRect which is more reliable