javadocs comment and pages are added, still need many improvements.