Refactored so that we can try different strategies and take the cheapest