Updated read functions