Implement restart reading — resolves #3