added most of relationship framework