working(does not specify starting point)