added a ton of error handling in main service