add type swtich