modified inputs to use readers instead of []byte