v0.04 add explanations of methods. code clean up.