allow custom wrapper functions