Implement step(), upto() and downto()