decomposite many to many to two one to many