Cleaned up decomposed fallback function