dependencies and error handling