actually commit the logic