Added unit tests, changed run method, configurable configs.