refactored code
added support for annotations