add wiki and code commenting, modify code