p28 - part a. TODO: part (b)