all images and functions work