added more commands, user commands, and more conversational features

You don't need a temp file for this. You can just read into memory and write it back to the same file.