add semantic structure