implemented first,last and manual types of range