initial concept of error types, docs