Completely restructured commands into seperate classes!