add some API implementations.