add format and diff