add doc & fix errors