revised for three.js r63