added asynchronous for image