Comments added.
Tests added.