added image manipulation