Simplified read()