it turns out that a var named onload is a bad idea