make sure step is never zero