working version; refactor needed for peer class obj