New attempt.

Modified