feature refactors
create the config directory if it doesn't exist