complete semantic routines!