added incomplete implementation of neighbours