Refactor to peer extensions