change run result output to buffer for efficiency and to avoid race conditions. Mux stderr and stdout with channels