make errors its own library