umn csci5551 final project