document/usage update; refactor for better support other diff formats in future