Don't always compute P
refactor loading