add method wrap