possibly use three.js stuff