#PPO refactory