added peer observer stuff