+ smart-newline