             if result=Cells.analyze(pattern, rule, maxSteps)
               if result.period?
                 if result.dx isnt 0 or result.dy isnt 0
-                  @library.put result
+                  @library.put result, @gol.rule
             null
           try
             reseed_period = parseInt E("catcher-reseed-period").value, 10

      return (rle of @key2result)
    hasDual: (result, rule)->
      if result.dx?
        rle = Cells.getDualSpaceship result.cells, rule, result.dx, result.dy
        rle of @key2result
      else
        false
      

        
      analysisResultToLibrary: ->
        if @analysis_result?
          @library.put @analysis_result, @gol.rule
          
      copyToBuffer: ->
        @analysis_result = null
