setup logging
stack is ":" seperated strings, not tuple
print function
somehow a stream handler was being added in the middle of setup. do the clean sweep at the end of setup.
move some funcs into shell, and add slow tests
use abs paths for everything, rel paths have implicit state