           catch
             null
         
-        @ruleset = rule.stabilize_vacuum()
-        @ruleset_phase = 0
+        @stable_rule = rule.stabilize_vacuum()
         try
-          @inverse_ruleset = @ruleset.reverse()
+          @inverse_stable_rule = @stable_rule.reverse()
         catch e
-          @inverse_ruleset = null
+          @inverse_stable_rule = null
           
         selectOption E("select-rule"), rule.stringify(), ""
         #console.log "Selection rule #{rule.stringify()}"

        urlArgs.push "size=#{fld.width}x#{fld.height}"
        urlArgs.push "cell_size=#{@view.cell_size},#{@view.grid_width}"
        urlArgs.push "phase=#{@gol.phase}"
        if @ruleset_enabled
          urlArgs.push "ruleset_phase=#{@ruleset_phase}"

        loc = ""+window.location
        if (anchorStartsAt = loc.indexOf "#") isnt -1

              alert "Rule must be specified, when using ruleset_phase"
            else
              phase = parseInt keys.ruleset_phase
              unless phase >=0 and phase < @stable_rule.size()
                alert "Ruleset phase #{phase} is outside of allowed region"
              else
                @stable_enabled = true
                @rule_phase = phase
                @showRulesetPhase()
                
          if keys.frame_delay?
