assignment 4 added and partially coded