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 course ( cid text, cname text, credits number, instructor number, days text, hours text, dno number )
TABLE: CREATE TABLE enrolled_in ( stuid number, cid text, grade text )
TABLE: CREATE TABLE department ( dno number, division text, dname text, room text, building text, dphone number )
TABLE: CREATE TABLE member_of ( facid number, dno number, appt_type text )
TABLE: CREATE TABLE minor_in ( stuid number, dno number )
TABLE: CREATE TABLE faculty ( facid number, lname text, fname text, rank text, sex text, phone number, room text, building text )
TABLE: CREATE TABLE student ( stuid number, lname text, fname text, age number, sex text, major number, advisor number, city_code text )
TABLE: CREATE TABLE gradeconversion ( lettergrade text, gradepoint number )

### Question ###
Find the distinct student first names of all students that have grade point at least 3.8 in one course.

### Accurate SQL ###

SELECT DISTINCT T3.fname FROM enrolled_in AS T1 JOIN gradeconversion AS T2 JOIN student AS T3 ON T1.grade = T2.lettergrade AND T1.stuid = T3.stuid WHERE T2.gradepoint >= 3.8