Redesign the check and grant methods.