for assignment 04 cmps 5p