Move internal type, data and function to Internal module
Fix code format
Documentation