I've added a more detailed description below.