sub read