updated with image optional