punch works in both directions