added JS support