let the caller worry about converting the annotations to strings