added abstract; minor editing