support read from console