updated through tutorial 4, half of 5