Dig the approach you used here, nice job keeping things backward compatible.