implimened P03 recursively