improve the read file