Better read mechanism and error handling.