Use offset() instead of position() to claculate the element position
Rename update_location to update_target for the sake of consistency
Build (minify)