add doc and source code