revised punching() API to support tLocalData
commit test program