Objects are more than just their attributes, they are their actions also. Both are aspects of the whole that is the object. OO programmers recognize this with the concept of a “method” in which an function is part of an object instead of something somewhere else in the program.
Therefore a hand is more than just fingers, palm and thumb. Attribute-wise, that’s all it is, but action wise, the hand has a new ability (“grasping”) that the component objects don’t have. So reductionism is wrong—a thing can be more than the sum of it’s parts (since “thing” includes action). And a man made of predictable little atoms does not necessarily have no free will.
So there’s need to go recursively back in to the atoms. You go back far enough until you see something that exists. Until you witness yourself making a choice or you don’t.