keep doc sync with source