impl annotation preprocessor as a plugin