some more changes to support ie8 end cases, must have initvalue