TODO:section 2.2 could be done tomorrow