p56 impl and test