no need for exception