Graph modification problems typically ask for a small set of operations that transforms a given graph to have a certain property. The most commonly considered operations include vertex deletion, edge deletion, and edge addition; for the same property, one can define significantly different versions by allowing different operations. We study a very general graph modification problem that allows all three types of operations: given a graph and integers k(1), k(2), and k(3), the CHORDAL EDITING problem asks whether G can be transformed into a chordal graph by at most k(1) vertex deletions, k(2) edge deletions, and k(3) edge additions. Clearly, this problem generalizes both CHORDAL DELETION and CHORDAL COMPLETION (also known as MINIMUM FILL-IN). Our main result is an algorithm for CHORDAL EDITING in time 2(O(klog k)). n(O(1)), where k:=k(1) + k(2) + k(3) and n is the number of vertices of G. Therefore, the problem is fixed-parameter tractable parameterized by the total number of allowed operations. Our algorithm is both more efficient and conceptually simpler than the previously known algorithm for the special case CHORDAL DELETION