keep column order as given in keys parameter