Keep in mind when you use this you'll have to consider error handling (it is throwing errors that are unchecked.)