everything but non-retrospective definitions work