add more test for singleton