Adding exists back in, will refactor later.