diff --git a/sprox/fillerbase.py b/sprox/fillerbase.py
index d92898d..8619e53 100644
--- a/sprox/fillerbase.py
+++ b/sprox/fillerbase.py
@@ -226,11 +226,13 @@ def get_value(self, values=None, **kw):
             for field in self.__fields__:
                 field_method = getattr(self, field, None)
                 if inspect.ismethod(field_method):
-                    argspec = inspect.getargspec(field_method)
-                    if argspec and (len(argspec[0])-2>=len(kw) or argspec[2]):
-                        value = getattr(self, field)(obj, **kw)
+                    signature = inspect.signature(field_method)
+                    try:
+                        signature.bind(obj, **kw)
+                    except TypeError:
+                        value = field_method(obj)
                     else:
-                        value = getattr(self, field)(obj)
+                        value = field_method(obj, **kw)
                 else:
                     value = getattr(obj, field)
                     if 'password' in field.lower():