adding traversable support, upding unit tests