Adapted suggestions from 1Checker