handle special cases in a way that doesn't require the old parsing code to stick around