abstracted more configuration