removed existsAndDefault for speed