Complete assigment. COde and typo corrections