implemented neighbours methods, now mid-refactoring