Some procedural abstraction. Too much?