This article introduces basic principles of a generative theory of phonology that unifies aspects of parallel constraint-based theories and serial rule-based theories. In the core of the grammar are phonological processes that consist of a markedness constraint and a repair. Processes are universal, but every language activates a different set, and applies them in different orders. Phonological processes may be in bleeding or feeding relations. These two basic relations are sufficient to define more complicated interactions, such as blocking, derived and non-derived environment effects, chain shifts and allophony.