Linear high-order methods are known to violate positivity constraints and tend to produce spurious oscillations in the vicinity of steep gradients. This can be overcome by applying variable artificial diffusion so as to eliminate all negative off-diagonal entries of the high-order operator. The excessive smearing engendered by the resulting low-order scheme can be alleviated by using a nonlinear switching between discretizations of high and low order. This idea can be traced back to the flux-corrected-transport paradigm introduced by Boris and Book [1] in the realm of finite differences and popularized in the finite element context by L/``ohner {/it et al.} [2]. In a series of recent publications [3], [4] the FEM-FCT methodology was generalized to arbitrary time-stepping schemes, problems with nonlinear source terms and systems of hyperbolic conservation laws. In this talk an efficient edge-by-edge matrix assembly algorithm based on the splitting of internal and boundary contributions is proposed. The artificial diffusion is constructed in a tensorial form so as to render the off-diagonal blocks positive definite. For efficiency reasons scalar dissipation is adopted, its magnitude being the same for all variables. For hyperbolic systems it is taken to be proportional to the spectral radius of the Roe matrix. The nonlinearities are handled within a fixed point defect correction procedure. A block-diagonal preconditioner based on the low-order evolution operator is utilized to decompose the entire system into a sequence of well-behaved scalar subproblems. Synchronized correction factors are applied to the conservative fluxes as proposed in [2]. Limiting in terms of nonconservative variables is shown to be feasible. The new `add-ons` to the FEM-FCT formulation are applied to reactive bubbly flows and the compressible Euler equations of gas dynamics.