first version of ph2m
second version of ph2m