wrapper is a tool function makes it possible to do before or after when invoke
fire in the hole,simple yet event library