fairly sane text handling closes #3