Final submitted code
Other variations