renamed shellout param preserve_spaces to preserve_whitespace