use IPC::Run

this rewrite should solve the problems with IPC::Open3