Refactored p23