Feature/refactor relation

/to @ritch 
Stray comment?