add wrapping method