added JavaScript version