Removed goWest/goEast functions and changed the logic so append is recursive. Currently, this  blows the stack