finsihing off the read interface and tidying the rest of the stuff too by george!