polygon clipping added