Add a ton of new API interfaces and functions