add semantic framework