add semantik functional