new image
more cleanup and optimization