fetch_annotations now uses efficient table joins