refactor for wrap/unwrap; use goodwin test runner