added another (broken) implementation...
more examples