Modified to use byte stream for all outputs (except build error).
Complete framework