major cleanup, flushed out documentation