good idea about constructor