more functions for API