callback must be passed in provider method