record idea about using SafeInt