better docs and more streamlined architecture