chargen ismoretoread and readnext is fixed