OL3, refactored, tested.