improve _p