data API implementation modified