Rewrote entire class