(1) Add singleton implementaion; (2) change title