add p94.ml, not finished, quite hard implementation