started re-writing read routines