modified api, template