added RetentionPolicy and TargetType to annotations