everywhere i look says its best about 1040ish (my primary reading was this before fermentation)
1.040 is a good O.G. (original gravity, i.e. gravity before fermentation). However, it seems from your statement that you were expecting to see that number
post fermentation. That would be extremely unusual outside of something like a Russian Imperial Stout.
Gravity is basically a measure of the sugar in solution. As the yeast consume the sugars (that's what fermentation is), the gravity goes down. The measure of this sugar consumption/drop in gravity points is referred to as the "attenuation."
Your beer experienced 50% apparent attenuation (based on your statement that your pre-fermentation gravity was 1.040 and it is now at 1.020, meaning that half the fermentable sugars were consumed). That is a pretty low attenuation, and it likely tastes rather sweet and thick, but you still have made beer (and alcohol). This is a result of taking it out of primary fermentation too quickly (a common mistake that we all made when we brewed our first batch or three). In the future, do not trust the timetable in your kit instructions -- they are just trying to get you through the process as quickly as possible, but they cannot predict how quickly your individual batch will finish. Instead, be patient, wait
at least a week (two or three if you have the willpower), then take a gravity reading. If it has reached the predicted final gravity, you are probably good to keg it (although a bit more time on the yeast will only help). If not, leave it alone for a few more days and then take another reading.