This is my solution to the Software foundation book.