Complete config refactor, add additional config functions