Code cleanup
Experimented with PExp, not happy with type complexity