new API definition