the return is also weird here.