switched to explicit annotation types