if in doubt, setTimeout