P1 basic, though working, outline

check spec.flex for instructions