name-switches contructor