added introspection