flexify the API