why both the function + the method?