Finished API changes and updates unit tests