adding better errors for better errors