test charset
update tests
use Result
docs