more automation and error-handling