made nearly everything configurable