Feature/refactor relation

/to @ritch 
Not sure if this is old or new. But `{}` should be `Object`.