call returns even if the value returned is falsy, what was I thinking when I wrote it? of course we need to get even falsy values back, sorry about that