added ability to exists => false