add a method, refactor
revise implementation of Config