add comments throughout | add README | fix bugs