started rewriting p1_base with p0_reader