added charset support