This is the first version that works.