add image functionality implemented