Refactoring

Explicitly restrict exported types
Classify exports by functional section
Refactoring