add Error Handling