Re-arrange the source file and improve documentation.