remove a lot of unnecessary code, simply things quite a bit and try to pass everything by Configurable interface