start dotp2p refactor