Fixed and cleaned up/modernized Relations
this MR Fixes and cleans up/modernized Relations
Fix because it should not have compiled (and was failing in some cases) as some classes did not implement all methods they should have
Cleanup as a LOT of code and lines were useless.
Edited by Sebastien Ponce