demo for singleton pattern