commented the populating methods a bit more in order to easily demonstrate what is happening