Update to use promises, change to loadImage