Starting on the error handling and testing