- refactor settings to support yaml config