implemented error handling and adding args to the save method for edge cases table structures