moving towards representing all nodes as annotations
calculating offsets