added custom errors