wrappers are now abstract