Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

### Tables ###
TABLE: CREATE TABLE professor (emp_num VARCHAR, dept_code VARCHAR)
TABLE: CREATE TABLE department (dept_code VARCHAR, dept_name VARCHAR)
TABLE: CREATE TABLE CLASS (prof_num VARCHAR)
TABLE: CREATE TABLE employee (emp_fname VARCHAR, emp_num VARCHAR)

### Question ###
What is the first names of the professors from the history department who do not teach a class.

### Accurate SQL ###

SELECT T1.emp_fname FROM employee AS T1 JOIN professor AS T2 ON T1.emp_num = T2.emp_num JOIN department AS T3 ON T2.dept_code = T3.dept_code WHERE T3.dept_name = 'History' EXCEPT SELECT T4.emp_fname FROM employee AS T4 JOIN CLASS AS T5 ON T4.emp_num = T5.prof_num