factored out message stream and created disk classes