error handling
recognize warnings