refactored annotation