added automatic config struct writer
added a bunch of stuff