add Referred/Referring, refactor Connections

all these relationships are described with pointers