Final commit after first submission. Comments need revising