better JS support