new version with silent and global on init