Initial version.
Edited.