fix join streams; improve CharStreamUtil
add library