added requirements and decoupled the configs