fix circular dependency by adding a config service