add some methods and modify to use Collections#singleton method.