improve constructor;update doc