fallback when DOMContentLoaded doesn't work