need to implement switchvals & union & also fix ui before testing phase