added new method. isEquals need fixing