add read_config function