adding sources and solutions from book for ease