Added exception handling and the first three arguments