use unique_ptr<char[]>