types and their images are created dynamically