no need for the `ret`