allow starting from 0