get rid of the middleman and accept a config directly