Annotations 1-2
Some refactoring