made errors more specific; refactored #registered?