A note on performance has been added.