implementation description p1