updated doc & i/o