add another part of assignment 3