removing the need for two different implementations of JsLib