both are replaced by loader.py