constructor & setter