refactored and revised annotations