Better error handling with usage