more small changes and documentations.