Finished CS580 Lab 4