add spinner for preloading image
merge conflicts