range containers implementation