improved shell handling

Seems cleaner in all of the check files. Any reason not to use `Open3` anymore?