Added 'range' extension function