refactored ooc wrapper to split read logic for training vs testing