Added punching.
Merged in punch