broke up the main class into sub classes, more commands, more permissions