errors: switched to pure Go error implementation, not just error code