added neighbouring functions and some simple behaviours