update singleton pattern.