Modified element so that it could handle all sorts of data types. They are pretty much hardcoded, but it is still nice