add comments for singleton