should only add if it doesn't exist
use \n not \r