WIP add semantic