start of image implementation