praise: cStringIO is no longer used