Add one more punch hole generation strategy

This new strategy generates better punch holes, but its performance is not as good as previous one

@huascar
Please review.