but we rely on that tell should not throw exception in other places, to avoid sprinkling this all over the place