Add more code, and more doc