my suggestion doesn't entirely avoid warning messages