Basic Serafin et al. '03 implementation