Some comments within all helper methods can be helpful to understand what they are doing!