refactored peer announce