new branch
redesign of peer class