This is csci 571 class assignment