further peer implementation