more model madness with M2M related_name untangling, but still not happy with it