a first (non-working) implementation
639 accepted