We present a new approach to the execution of functional logic programs. Our approach relies on definitional trees for the deterministic portions of a computation and on a graph transformation, called pull-tab, for the non-deterministic portions. This transformation moves, one level at a time, non-deterministic choices towards the root of the graph representing the state of a computation. With respect to need-based strategies for functional logic computations, our approach executes only localized graph replacements, a property that characterizes it as ``pay as you go'' and makes it suitable for parallel execution.