no need for internal