implement twin method
fix edge cases for twin
implement neighbors without tests