an attempt at creating a small introspection library