reorganize
add count-bytes, count-codepoints, io