add reasoning for semantic course