tidy up read method and test