added range type for using in loops etc