Add semantic evaluation