Improvements with restructure method
Moved while loop to pop() thereby improving speed of add()
Finished improvements + added test cases
remove all method