add sema code