Finished implementation and test cases. This library should be good to go!