using getBoundingClientRect