This is a my learning for all.