Split Program.cs into separate files
Readded internal function namespace