Fixed all previous sections to internal API
Added internal API draft. It's a bit of a mess and we need to make the code way more clean, but for now it's enough