functional commit