traverse works better