add comment, singleton synchronized