added private methods and values to the x_ object, to make make errors more useful without exposing non-exported valesu