smart commit