     // modules stop
 
     this.require = function(dep){
-      var abs_path = dep.replace(/\\.coffee$/, '');
+      var abs_path = dep.replace(/\\.(coffee|litcoffee)$/, '');
       var current = _current_stack[_current_stack.length - 1];
       if(dep.match(/^\\.\\.\\//)){
         var dir = current.dir.split('/');

      log: function(x){ plv8.elog(NOTICE, x); }
    };

    this.cache = {}
    return 'done'
  $JAVASCRIPT$ LANGUAGE plv8 IMMUTABLE STRICT;


      // todo resolve paths
      var mod = _modules[abs_path]
      if(!mod){ throw new Error("No module " + abs_path + " while loading " + JSON.stringify(_current_stack)); }
      if(!mod.cached){
        if(mod.inprogress){ throw new Error("Cyclic dependecy " + abs_path) }
        mod.inprogress = true
        mod.cached = mod.init()
        mod.inprogress = false
      }
      return mod.cached
    }
    this.modules = function(){
