sigh, handle newlines properly