cleanup fallback code a bit