refactor
use yaml config file