defining constructor