simple parser
add char_type