Performance tweeks to read functions