add getElementOffset function