I added commens and fixed nits due to review, this has to be squased before merge