Huge refactoring, look at #6
Reimplement Peers, a utility class
Complete huge refactoring. Close #6