addition of shuffle method and semi-working string reader