evaluate only when requested, help msg