Used for Long_Assignment2