added --cache option