rewrote nearly everything