better cross-browser support
error out slightly nicer