implemented add, revert, ci