refactor plumb, throw if no error handler passed, fix shell, fix exec, add home directory to path, fix tests