added code to each backend to configure and initialize. eventually will make it part of the interfaces so that they can be reconfigured at runtime