Changed empty to isEmpty to make it less likely that the programmer is already using the function name