added character reading