add method introspection