initial commit
rewrote all the things.