Implemented step() and fixed findMissingProducts()