Abstracted client implmentation in Assignment3.cpp