Renames a few files and adds function improvements

o Also adds new tests for the api layer
o Updates the documentation