implemented create_ppm but not tested