add read-file function support