start better documentation of internals