why do we need `isLoaded`?