2 and 3 work, 1 is slow (see comment above)