unneeded size recursion?