implem for constructor