adding introspection stuff