add demo for serialible singleton and using assertj for test