wait until image is loaded before updating data
add placeholder image gradient