updated to use executemany