python 3 compatibility, moved _reload into utils because it's used in two places now