Added some more descriptive comments + reasoning