added driver class and main class