this ends up being too greedy