more generic commit