add semantic 3