Alternative implementation.