add some comments about constructor