add toString
make read chainable