Adjusting folder structure and making the feature public

So external impl's can depend on it