add optional jQuery support