callbacks in api return self