changed how exists works