Tidy up, add rationale checker