Rewrite of p_interactive