config object pattern