added differ method