explanation with pictures added