added a couple purpose comments so you know what to fill in for the methods