create threejs factory