Basic Solution implemented and tested

Still need to add and test all of the overloading