not using unicode: breaks indentation, and ime cannot look ahead