flesh out p1 declaration 2