implementing filling intersection