Rewrote the class