pyramid re-write, less magic, better testing, more granular