switch added
mix c and obj-c added