better fallback mechanism