refactored to use ZOLaps