fix #35: only update colnames based on rownames if colnames exist