big refactor: for has error