Version 4: Sync with github version.