Simplifies arguments
Adds optional arguments and error handling