add startAt concept; could be named better