REWRITE

yeah, rewrote and added a lot of stuff.