constructor defining