Added and updated Element classes

Sorry for the class spam, I may just move all of these to one .java file
at some point, but for now, here they are. I have tried to comment code,
but if you have any questions, I will be happy to add more comments.