many to many join is functional