custom errors
update tests