add test for singleton