why do we need handler on the API here?