Using switch statement, normalizing environment string
Fixing namespaces, implementing getName function
Abstract class isn't needed IMO
Default to unknown