adding better errors support