Add many to many self-association with extra fields