Finished Final Implementation

Still needs testing