removed external annotations, refactoring