refactor annotations