Sync with purcell's version