Finished implementing all methods. Improved equals()