added boost-range