[minor][api] more work on creating the internals