add reader
add other types