avoiding wrappers; putting code in the right place