big changes

pretty much a full rewrite, still under heavy development