added support for generating annotation types