sufficient error handling?