- completed isEquals implementation
 - added extend function