Added main driver routine